[INFO] cloning repository https://github.com/shika-blyat/mini-functional-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shika-blyat/mini-functional-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshika-blyat%2Fmini-functional-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshika-blyat%2Fmini-functional-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fee8b8f16c9824ccb2846bf760ad89073f45bac3
[INFO] checking shika-blyat/mini-functional-lang against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshika-blyat%2Fmini-functional-lang" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/shika-blyat/mini-functional-lang on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/shika-blyat/mini-functional-lang
[INFO] finished tweaking git repo https://github.com/shika-blyat/mini-functional-lang
[INFO] tweaked toml for git repo https://github.com/shika-blyat/mini-functional-lang written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/shika-blyat/mini-functional-lang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] checking shika-blyat/mini-functional-lang against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshika-blyat%2Fmini-functional-lang" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/shika-blyat/mini-functional-lang on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/shika-blyat/mini-functional-lang
[INFO] finished tweaking git repo https://github.com/shika-blyat/mini-functional-lang
[INFO] tweaked toml for git repo https://github.com/shika-blyat/mini-functional-lang written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/shika-blyat/mini-functional-lang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 063d32d26c47c608da4c330a31594b1793ec65e680d16bd19004df0d45b4047c
[INFO] running `Command { std: "docker" "start" "-a" "063d32d26c47c608da4c330a31594b1793ec65e680d16bd19004df0d45b4047c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "063d32d26c47c608da4c330a31594b1793ec65e680d16bd19004df0d45b4047c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "063d32d26c47c608da4c330a31594b1793ec65e680d16bd19004df0d45b4047c", kill_on_drop: false }`
[INFO] [stdout] 063d32d26c47c608da4c330a31594b1793ec65e680d16bd19004df0d45b4047c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dca233e746a202201ccc45945f5aa6e62010137e2da70be8dffa43adde7f1049
[INFO] running `Command { std: "docker" "start" "-a" "dca233e746a202201ccc45945f5aa6e62010137e2da70be8dffa43adde7f1049", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.34
[INFO] [stderr]    Compiling beef v0.4.4
[INFO] [stderr]    Compiling regex-syntax v0.6.18
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling logos-derive v0.11.5
[INFO] [stderr]     Checking logos v0.11.4
[INFO] [stderr]     Checking mini-ml v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BinOperator`, `FuncDecl`, `UnOperator`
[INFO] [stdout]  --> src/parser.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ast::{BinOperator, Expr, FuncDecl, Literal, Spanned, UnOperator},
[INFO] [stdout]   |           ^^^^^^^^^^^        ^^^^^^^^                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     token!(token_ident, Token::Identifier(_), "an identifier literal");
[INFO] [stdout]    |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     token!(token_string, Token::Str(_), "a string literal");
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     token!(token_number, Token::Num(_), "a number literal");
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     token!(token_bool, Token::Bool(_), "a bool literal");
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     token!(data, Token::Data, "a data token");
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     token!(if_, Token::If, "an if token");
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     token!(then, Token::Then, "a then token");
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     token!(else_, Token::Else, "an else token");
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     token!(union, Token::Union, "an union token");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     token!(equal, Token::Equal, "an equal token");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     token!(rparen, Token::RParen, "a right parenthesis");
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     token!(lparen, Token::LParen, "a left parenthesis");
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     token!(rbrace, Token::RBrace, "a right brace");
[INFO] [stdout]     |     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     token!(lbrace, Token::LBrace, "a left brace");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinOperator`, `FuncDecl`, `UnOperator`
[INFO] [stdout]  --> src/parser.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ast::{BinOperator, Expr, FuncDecl, Literal, Spanned, UnOperator},
[INFO] [stdout]   |           ^^^^^^^^^^^        ^^^^^^^^                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     token!(token_ident, Token::Identifier(_), "an identifier literal");
[INFO] [stdout]    |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     token!(token_string, Token::Str(_), "a string literal");
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     token!(token_number, Token::Num(_), "a number literal");
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     token!(token_bool, Token::Bool(_), "a bool literal");
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     token!(data, Token::Data, "a data token");
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     token!(if_, Token::If, "an if token");
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     token!(then, Token::Then, "a then token");
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     token!(else_, Token::Else, "an else token");
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     token!(union, Token::Union, "an union token");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     token!(equal, Token::Equal, "an equal token");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     token!(rparen, Token::RParen, "a right parenthesis");
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     token!(lparen, Token::LParen, "a left parenthesis");
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     token!(rbrace, Token::RBrace, "a right brace");
[INFO] [stdout]     |     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |                     span: std::usize::MAX..std::usize::MAX,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     token!(lbrace, Token::LBrace, "a left brace");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Span` is never used
[INFO] [stdout]  --> src/ast.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Span = Range<usize>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BoxedSpannedExpr` is never used
[INFO] [stdout]  --> src/ast.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type BoxedSpannedExpr<'a> = Spanned<Box<Expr<'a>>>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Ident` is never used
[INFO] [stdout]  --> src/ast.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Ident<'a> = &'a str;
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spanned` is never constructed
[INFO] [stdout]  --> src/ast.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Spanned<T> {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuncDecl` is never constructed
[INFO] [stdout]   --> src/ast.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FuncDecl<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/ast.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Expr<'a> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BinOperator` is never used
[INFO] [stdout]   --> src/ast.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum BinOperator {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnOperator` is never used
[INFO] [stdout]   --> src/ast.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum UnOperator {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Literal` is never used
[INFO] [stdout]   --> src/ast.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum Literal<'a> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]  --> src/errors.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Error<'a> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrReason` is never used
[INFO] [stdout]  --> src/errors.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ErrReason<'a> {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SpannedTok` is never used
[INFO] [stdout]   --> src/parser.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | type SpannedTok<'a> = (Token<'a>, Range<usize>);
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ParseResult` is never used
[INFO] [stdout]   --> src/parser.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type ParseResult<'a, T> = Result<T, Error<'a>>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SpannedExpr` is never used
[INFO] [stdout]   --> src/parser.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SpannedExpr<'a> = Spanned<Expr<'a>>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct Parser<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Span` is never used
[INFO] [stdout]  --> src/ast.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Span = Range<usize>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BoxedSpannedExpr` is never used
[INFO] [stdout]  --> src/ast.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type BoxedSpannedExpr<'a> = Spanned<Box<Expr<'a>>>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Ident` is never used
[INFO] [stdout]  --> src/ast.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Ident<'a> = &'a str;
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spanned` is never constructed
[INFO] [stdout]  --> src/ast.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Spanned<T> {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuncDecl` is never constructed
[INFO] [stdout]   --> src/ast.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FuncDecl<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/ast.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Expr<'a> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BinOperator` is never used
[INFO] [stdout]   --> src/ast.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum BinOperator {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnOperator` is never used
[INFO] [stdout]   --> src/ast.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum UnOperator {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Literal` is never used
[INFO] [stdout]   --> src/ast.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum Literal<'a> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]  --> src/errors.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Error<'a> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrReason` is never used
[INFO] [stdout]  --> src/errors.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ErrReason<'a> {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SpannedTok` is never used
[INFO] [stdout]   --> src/parser.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | type SpannedTok<'a> = (Token<'a>, Range<usize>);
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ParseResult` is never used
[INFO] [stdout]   --> src/parser.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type ParseResult<'a, T> = Result<T, Error<'a>>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SpannedExpr` is never used
[INFO] [stdout]   --> src/parser.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SpannedExpr<'a> = Spanned<Expr<'a>>;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct Parser<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:37:12
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 37  |     pub fn new(tokens: SpannedIter<'a, Token<'a>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43  |     fn number(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54  |     fn bool(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65  |     fn string(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     fn identifier(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87  |     fn next(&mut self) -> Option<SpannedTok<'a>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     fn peek(&mut self) -> Option<&'_ SpannedTok<'a>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     token!(token_ident, Token::Identifier(_), "an identifier literal");
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 96  |     token!(token_string, Token::Str(_), "a string literal");
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 97  |     token!(token_number, Token::Num(_), "a number literal");
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 98  |     token!(token_bool, Token::Bool(_), "a bool literal");
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 99  |     token!(data, Token::Data, "a data token");
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 100 |     token!(if_, Token::If, "an if token");
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 101 |     token!(then, Token::Then, "a then token");
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 102 |     token!(else_, Token::Else, "an else token");
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 103 |     token!(union, Token::Union, "an union token");
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 104 |     token!(equal, Token::Equal, "an equal token");
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 105 |     token!(rparen, Token::RParen, "a right parenthesis");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 106 |     token!(lparen, Token::LParen, "a left parenthesis");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 107 |     token!(rbrace, Token::RBrace, "a right brace");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 108 |     token!(lbrace, Token::LBrace, "a left brace");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:37:12
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 37  |     pub fn new(tokens: SpannedIter<'a, Token<'a>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43  |     fn number(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54  |     fn bool(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65  |     fn string(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     fn identifier(&mut self) -> ParseResult<'a, SpannedExpr<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87  |     fn next(&mut self) -> Option<SpannedTok<'a>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     fn peek(&mut self) -> Option<&'_ SpannedTok<'a>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     token!(token_ident, Token::Identifier(_), "an identifier literal");
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 96  |     token!(token_string, Token::Str(_), "a string literal");
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 97  |     token!(token_number, Token::Num(_), "a number literal");
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 98  |     token!(token_bool, Token::Bool(_), "a bool literal");
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 99  |     token!(data, Token::Data, "a data token");
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 100 |     token!(if_, Token::If, "an if token");
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 101 |     token!(then, Token::Then, "a then token");
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 102 |     token!(else_, Token::Else, "an else token");
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 103 |     token!(union, Token::Union, "an union token");
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 104 |     token!(equal, Token::Equal, "an equal token");
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 105 |     token!(rparen, Token::RParen, "a right parenthesis");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 106 |     token!(lparen, Token::LParen, "a left parenthesis");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 107 |     token!(rbrace, Token::RBrace, "a right brace");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 108 |     token!(lbrace, Token::LBrace, "a left brace");
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.17s
[INFO] running `Command { std: "docker" "inspect" "dca233e746a202201ccc45945f5aa6e62010137e2da70be8dffa43adde7f1049", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dca233e746a202201ccc45945f5aa6e62010137e2da70be8dffa43adde7f1049", kill_on_drop: false }`
[INFO] [stdout] dca233e746a202201ccc45945f5aa6e62010137e2da70be8dffa43adde7f1049
